package xin.marcher.wind.migrate.domain.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import xin.marcher.framework.mybatis.dataobject.BaseDO;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 迁移表
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class EtlProgressDO extends BaseDO {

    /**
     * 主键
     */
    private Long id;

    /**
     * 业务系统名称
     */
    private String domain;

    /**
     * 业务系统 ID
     */
    private Long domainId;

    /**
     * 逻辑模型名（逻辑表）
     */
    private String logicModel;

    /**
     * 迁移批次
     */
    private String ticket;

    /**
     * 当前所属批次阶段号
     */
    private Integer curTicketStage;

    /**
     * 进度类型(0-滚动抽数, 1-核对抽数)
     */
    private Integer progressType;

    /**
     * 迁移状态
     */
    private Integer status;

    /**
     * 已同步次数
     */
    private Integer retryTimes;

    /**
     * 已完成记录数
     */
    private Integer finishRecord;

    /**
     * 已完成进度
     */
    private BigDecimal ProgressScale;

    /**
     * 记录上一次滚动最后记录的滚动字段值
     */
    private String scrollId;

    /**
     * 开始滚动时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime scrollTime;

    /**
     * 滚动截止时间
     */
    private LocalDateTime scrollEndTime;


}
